package com.zshan.clinic.web.controller.config;


import com.zshan.clinic.admin.entity.vo.ClinicPrintConfigGroupVo;
import com.zshan.clinic.admin.service.config.PrintConfigService;
import com.zshan.clinic.common.response.RestResp;
import com.zshan.clinic.database.model.ClinicPrintConfig;
import com.zshan.clinic.web.controller.AbstractController;
import com.zshan.clinic.web.entity.UserInfo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;


/**
 * 打印设置
 */
@RestController
@RequestMapping("/print/config")
public class PrintConfigController extends AbstractController {


    @Autowired
    private PrintConfigService printConfigService;


    /**
     * 查询诊所打印设置
     * @return
     */
    @GetMapping("/getPrintConfigList")
    public RestResp<ClinicPrintConfigGroupVo> getPrintConfigList() {
        UserInfo userInfo = getUserInfo();
        ClinicPrintConfigGroupVo clinicPrintConfigGroupVo = printConfigService.getPrintConfigList(userInfo.getClinicId());
        return RestResp.SUCCESS(clinicPrintConfigGroupVo);
    }

    /**
     * 保存诊所打印设置
     * @return
     */
    @PostMapping("/savePrintConfig")
    public RestResp<Void> savePrintConfig(@RequestBody ClinicPrintConfig clinicPrintConfig) {
        UserInfo userInfo = getUserInfo();
        clinicPrintConfig.setCreateUserId(userInfo.getEmpId());
        clinicPrintConfig.setCreateBy(userInfo.getEmpName());
        clinicPrintConfig.setClinicId(userInfo.getClinicId());
        printConfigService.savePrintConfig(clinicPrintConfig);
        return RestResp.SUCCESS();
    }

    /**
     * 打印设置应用到全部
     * @return
     */
    @PostMapping("/saveAllPrintConfig")
    public RestResp<Void> saveAllPrintConfig(@RequestBody ClinicPrintConfig clinicPrintConfig) {
        UserInfo userInfo = getUserInfo();
        clinicPrintConfig.setCreateUserId(userInfo.getEmpId());
        clinicPrintConfig.setCreateBy(userInfo.getEmpName());
        clinicPrintConfig.setClinicId(userInfo.getClinicId());
        printConfigService.saveAllPrintConfig(clinicPrintConfig);
        return RestResp.SUCCESS();
    }
}
